# -*- coding: utf-8 -*-

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db
import simplejson as json
import dados
from dados import Categorias



	
class MainJson(webapp.RequestHandler):

	def get(self):
		p = self.response.out
		r = self.request
		
		acao = r.get("acao")
		
		saida={}
		item={}
		lista=[]
		
		saida["status"]=""
		
		if acao=="pontos":
		
			latitude_inicio = r.get("lati");
			latitude_fim = r.get("latf");
			longitude_inicio = r.get("lngi");
			longitude_fim = r.get("lngf");
			cats=  r.get("interesse");
			
			chaves = cats.split(',')
			l=[]
			for i in range(0,len(chaves)):
				l.append(int(chaves[i]))
				
			pontos = db.GqlQuery("SELECT * from Pontos WHERE ponto<=:1 and ponto>=:2 and id_categoria in :3 and status=:4", db.GeoPt(latitude_inicio, longitude_inicio),db.GeoPt(latitude_fim, longitude_fim), l, "A")
			
			for a in pontos:
				item={}
				item["id"]=a.id
				item["latitude"]=a.ponto.lat
				item["longitude"]=a.ponto.lon
				item["nome"]=a.nome
				item["descricao"]=a.descricao
				item["alerta_velocidade"]=a.alerta_velocidade
				item["alerta_distancia"]=a.alerta_distancia
				item["id_categoria"]=a.id_categoria
				item["endereco"]=a.endereco
				item["cidade"]=a.cidade
				item["uf"]=a.uf
				lista.append(item)
			
			saida["status"]="ok"
			saida["pontos"]=lista
			
		elif acao=="categorias":
			
			categorias = db.GqlQuery("SELECT * from Categorias")
			
			for a in categorias:
				item={}
				item["id"]=a.id
				item["categoria"]=a.categoria
				item["nome_padrao_gps"]=a.nome_padrao_gps
				item["tag"]=a.tag
				item["icone"]=a.icone
				lista.append(item)
		
			saida["status"]="ok"
			saida["categorias"]=lista
			
			
		p.write(json.dumps(saida))
			
			